home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1996-01-17 | 11.9 KB | 421 lines |
- ' ************************************* Commands used:
- ' * * Blitter Commands
- ' * No Good (Start The Dance) * Shade Bob Commands
- ' * Music and Code by Chris Hodges * Turbo Draw
- ' * Original Music by The Prodigy * Protracker Commands
- ' * * =Qsin
- ' ************************************* =Qcos
- '
- ' An example, how to synchronisize your demo with the music, using the
- ' =Pt Signal function.
- ' Requires 1 MB Chip mem!
- Close Editor : Close Workbench
- Hide
- If Exist("mod.no good")
- Extension_8_0EA2 "mod.no good",-3
- Else
- Extension_8_0EA2 "Amcaf_Install:mod.no good",-3
- End If
- Screen Open 0,320,8,2,0 : Screen Hide
- Unpack 8 To 6 : Screen Hide
- Screen 0 : Get Palette 6
- Screen 6
- For A=0 To 31 : Colour A,0 : Next
- Screen Show 6
- Fade 3 To 0 : Wait 200
- Screen Open 7,320,256,4,0 : Screen Hide
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- For A=0 To 40*256-1 Step 2
- Doke Logbase(1)+A,Rnd(65536)
- Next
- Screen 6
- Fade 3 : Wait 48
- Screen Close 6
- Screen Open 4,320,256,2,0 : Screen Hide
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Double Buffer
- Autoback 0
- Screen Open 5,320,256,16,0 : Screen Hide
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Unpack 9 To 6 : Screen Hide
- Dim CO(7)
- For A=1 To 7
- Read CO(A)
- Next
- Extension_8_10C6 64
- Extension_8_10F2 125
- Extension_8_108E 3
- Auto View Off
- Bob Update Off
- Sprite Update Off
- MO=0 : PTVOL=64
- Screen 0
- Repeat
- Colour Back Colour(0)
- Wait Vbl : View
- Timer=0
- If Mouse Key>0 or Inkey$<>"" Then FADOUT=1
- If FADOUT Then Dec PTVOL : Extension_8_10C6 PTVOL
- P= Extension_8_10B6
- If P
- If P<15 : A=P : Gosub NEWTEX : End If
- If P=16 : Gosub NEWCHLORVU : End If
- If P=17 : Gosub NEWSHADEBOBS : End If
- If P=18 : Gosub BLINKOFLIGHT : End If
- If P=19 : Gosub NEWDINGS : End If
- If P=20 : Gosub NEWGLENZLINES : End If
- If P=21 : Gosub NEWSHAPESFILLED : End If
- If P=22 : Gosub NEWSNAKE : End If
- If P=32 : Fade 3 : End If
- End If
- If MO Then On MO Gosub TEX,CHLORVU,SHADEBOBS,DINGS,DINGSFILLED,GLENZLINES,SHAPESFILLED,SNAKE
- Until PTVOL=0
- Extension_8_10A8
- Screen Hide 4 : Screen Hide 5 : Screen Hide 6 : Screen Hide 7
- Screen Close 0
- Screen Close 7
- Screen Close 6
- Screen Close 5
- Screen Close 4
- End
- BLINKOFLIGHT:
- S= Screen
- Screen 0 : Get Palette S : Screen S
- For A=0 To 31 : Colour A,$FFF : Next
- Fade 2 To 0
- Return
- NEWSNAKE:
- Screen 5
- Extension_8_121C 5,0
- Extension_8_121C 5,1
- Extension_8_121C 5,2
- Extension_8_121C 5,3
- DC=Rnd(4095) and $777
- For A=0 To 15
- Colour A, Extension_8_0EE8(DC,(10-A)*$111,0 To $FFF)
- Next
- MO=8 : AD2=Rnd(15)+3 : AD1=Rnd(10)+10 : DC=1 : CR=1
- Screen Show 5
- Screen To Front 5
- ACT=0
- Return
- SNAKE:
- X1= Extension_8_1114(ANG1, Extension_8_1106(ANG2,128))+160 : Y1= Extension_8_1106(ANG1, Extension_8_1114(ANG2,128))+128
- X2= Extension_8_1114(ANG1, Extension_8_1114(ANG2,128))+160 : Y2= Extension_8_1106(ANG1, Extension_8_1106(ANG2,128))+128
- If ACT
- Ink DC : Polygon X1,Y1 To X3,Y3 To X4,Y4 To X2,Y2
- End If
- X3=X1 : Y3=Y1 : X4=X2 : Y4=Y2
- Add ANG1,AD1
- Add ANG2,AD2
- Add DC,CR
- If DC=1 or DC=15 Then CR=-CR
- ACT=1
- Return
- NEWSHAPESFILLED:
- Screen 4
- Extension_8_121C 4,0
- EFF=1+Rnd(4)
- Palette $FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
- Fade 2,0,Rnd(4095) and $777+$888
- Screen Show 4
- Screen To Front 4
- Screen Swap 4
- MO=7
- Return
- SHAPESFILLED:
- Screen 4
- Extension_8_121C 4,0
- Add W,16 : ZZ=24 : WW=W
- If EFF=1
- For A=0 To 4
- SX= Extension_8_1114(WW,ZZ) : SY= Extension_8_1106(WW,ZZ)
- Add ZZ,32 : Add WW,64
- Extension_8_1016 160+SX,128+SY To 160-SY,128+SX,1,-1
- Extension_8_1016 160-SY,128+SX To 160-SX,128-SY,1,-1
- Extension_8_1016 160-SX,128-SY To 160+SY,128-SX,1,-1
- Extension_8_1016 160+SY,128-SX To 160+SX,128+SY,1,-1
- Next
- End If
- If EFF=2
- For A=0 To 4
- SX1= Extension_8_1114(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1114(WW+341,ZZ)+160 : SY2= Extension_8_1106(WW+341,ZZ)+128
- SX3= Extension_8_1114(WW+682,ZZ)+160 : SY3= Extension_8_1106(WW+682,ZZ)+128
- Add ZZ,32 : Add WW,32
- Extension_8_1016 SX1,SY1 To SX2,SY2,1,-1
- Extension_8_1016 SX2,SY2 To SX3,SY3,1,-1
- Extension_8_1016 SX3,SY3 To SX1,SY1,1,-1
- Next
- End If
- If EFF=3
- For A=0 To 4
- SX1= Extension_8_1114(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1106(WW+341,ZZ)+160 : SY2= Extension_8_1114(WW+341,ZZ)+128
- SX3= Extension_8_1114(WW+682,ZZ)+160 : SY3= Extension_8_1106(WW+682,ZZ)+128
- Add ZZ,24 : Add WW,128
- Extension_8_1016 SX1,SY1 To SX2,SY2,1,-1
- Extension_8_1016 SX2,SY2 To SX3,SY3,1,-1
- Extension_8_1016 SX3,SY3 To SX1,SY1,1,-1
- Next
- End If
- If EFF=4
- For A=0 To 4
- SX1= Extension_8_1106(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1106(WW+341,ZZ)+160 : SY2= Extension_8_1114(WW+341,ZZ)+128
- SX3= Extension_8_1114(WW+682,ZZ)+160 : SY3= Extension_8_1114(WW+682,ZZ)+128
- Add ZZ,24 : Add WW,64
- Extension_8_1016 SX1,SY1 To SX2,SY2,1,-1
- Extension_8_1016 SX2,SY2 To SX3,SY3,1,-1
- Extension_8_1016 SX3,SY3 To SX1,SY1,1,-1
- Next
- End If
- If EFF=5
- For A=0 To 4
- SX1= Extension_8_1114(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1114(WW+341,ZZ)+160 : SY2= Extension_8_1114(WW+341,ZZ)+128
- SX3= Extension_8_1106(WW+682,ZZ)+160 : SY3= Extension_8_1114(WW+682,ZZ)+128
- Add ZZ,24 : Add WW,48
- Extension_8_1016 SX1,SY1 To SX2,SY2,7,-1
- Extension_8_1016 SX2,SY2 To SX3,SY3,7,-1
- Extension_8_1016 SX3,SY3 To SX1,SY1,7,-1
- Next
- End If
- Extension_8_1042 4,0
- Screen Swap 4
- Return
- NEWGLENZLINES:
- Screen 5
- If MO<>6
- Extension_8_121C 5,0
- Extension_8_121C 5,1
- Extension_8_121C 5,2
- Extension_8_121C 5,3
- End If
- BP=0
- EFF=1+Rnd(4)
- Palette $FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
- If EFF=1
- Fade 2,0,$444,$444,$888,$444,$888,$888
- End If
- If EFF=2
- Fade 2,0,$884,$884,$CC8,$884,$CC8,$CC8,$FFF
- End If
- If EFF=3
- Fade 2,0,$844,$844,$C88,$844,$C88,$C88,$FFF
- End If
- If EFF=4
- Fade 2,0,$484,$484,$8C8,$484,$8C8,$8C8,$FFF
- End If
- If EFF=5
- Fade 2,0,$448,$448,$88C,$448,$88C,$88C,$FFF
- End If
- Screen Show 5
- Screen To Front 5
- MO=6
- Return
- GLENZLINES:
- Screen 5
- Add BP,1,0 To 2
- Extension_8_121C 5,BP
- If EFF=1
- Add W,16
- Add Z,2 : If Z>31 : Z=0 : Add W,-64 : End If
- ZZ=Z+32 : WW=W
- For A=0 To 5
- SX= Extension_8_1114(WW,ZZ) : SY= Extension_8_1106(WW,ZZ)
- Add ZZ,32 : Add WW,64
- Extension_8_1016 160+SX,128+SY To 160-SY,128+SX,7, Extension_8_04F8(BP)
- Extension_8_1016 160-SY,128+SX To 160-SX,128-SY,7, Extension_8_04F8(BP)
- Extension_8_1016 160-SX,128-SY To 160+SY,128-SX,7, Extension_8_04F8(BP)
- Extension_8_1016 160+SY,128-SX To 160+SX,128+SY,7, Extension_8_04F8(BP)
- Next
- Return
- End If
- If EFF=2
- Add W,16
- Add Z,2 : If Z>31 : Z=0 : Add W,-32 : End If
- ZZ=Z+32 : WW=W
- For A=0 To 5
- SX1= Extension_8_1114(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1114(WW+341,ZZ)+160 : SY2= Extension_8_1106(WW+341,ZZ)+128
- SX3= Extension_8_1114(WW+682,ZZ)+160 : SY3= Extension_8_1106(WW+682,ZZ)+128
- Add ZZ,32 : Add WW,32
- Extension_8_1016 SX1,SY1 To SX2,SY2,7, Extension_8_04F8(BP)
- Extension_8_1016 SX2,SY2 To SX3,SY3,7, Extension_8_04F8(BP)
- Extension_8_1016 SX3,SY3 To SX1,SY1,7, Extension_8_04F8(BP)
- Next
- Return
- End If
- If EFF>2
- Add W,12 : ZZ=24 : WW=W
- End If
- If EFF=3
- For A=0 To 5
- SX1= Extension_8_1114(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1106(WW+341,ZZ)+160 : SY2= Extension_8_1114(WW+341,ZZ)+128
- SX3= Extension_8_1114(WW+682,ZZ)+160 : SY3= Extension_8_1106(WW+682,ZZ)+128
- Add ZZ,24 : Add WW,128
- Extension_8_1016 SX1,SY1 To SX2,SY2,7, Extension_8_04F8(BP)
- Extension_8_1016 SX2,SY2 To SX3,SY3,7, Extension_8_04F8(BP)
- Extension_8_1016 SX3,SY3 To SX1,SY1,7, Extension_8_04F8(BP)
- Next
- Return
- End If
- If EFF=4
- For A=0 To 5
- SX1= Extension_8_1106(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1106(WW+341,ZZ)+160 : SY2= Extension_8_1114(WW+341,ZZ)+128
- SX3= Extension_8_1114(WW+682,ZZ)+160 : SY3= Extension_8_1114(WW+682,ZZ)+128
- Add ZZ,24 : Add WW,64
- Extension_8_1016 SX1,SY1 To SX2,SY2,7, Extension_8_04F8(BP)
- Extension_8_1016 SX2,SY2 To SX3,SY3,7, Extension_8_04F8(BP)
- Extension_8_1016 SX3,SY3 To SX1,SY1,7, Extension_8_04F8(BP)
- Next
- Return
- End If
- If EFF=5
- For A=0 To 5
- SX1= Extension_8_1114(WW,ZZ)+160 : SY1= Extension_8_1106(WW,ZZ)+128
- SX2= Extension_8_1114(WW+341,ZZ)+160 : SY2= Extension_8_1114(WW+341,ZZ)+128
- SX3= Extension_8_1106(WW+682,ZZ)+160 : SY3= Extension_8_1114(WW+682,ZZ)+128
- Add ZZ,24 : Add WW,48
- Extension_8_1016 SX1,SY1 To SX2,SY2,7, Extension_8_04F8(BP)
- Extension_8_1016 SX2,SY2 To SX3,SY3,7, Extension_8_04F8(BP)
- Extension_8_1016 SX3,SY3 To SX1,SY1,7, Extension_8_04F8(BP)
- Next
- End If
- Return
- NEWDINGS:
- Screen 4
- Palette 0,$FF0
- Screen Show 4
- Screen To Front 4
- MO=4+Rnd(1)
- AD1=Rnd(15)+10
- AD2=Rnd(15)+10
- IAD1=AD1*(Rnd(3)+1)
- IAD2=AD2*(Rnd(3)+1)
- Return
- DINGSFILLED:
- Screen 4
- Extension_8_121C 4,0
- DA1=ANG1
- DA2=ANG2
- For A=0 To 4
- X1= Extension_8_1114(DA1,159)+160
- Y1= Extension_8_1106(DA2,127)+127
- If A>0
- Extension_8_1016 X1,Y1 To X2,Y2,1,-1
- End If
- X2=X1 : Y2=Y1
- X3= Extension_8_1114(DA1,100)+160
- Y3= Extension_8_1106(DA2,67)+127
- If A>0
- Extension_8_1016 X3,Y3 To X4,Y4,1,-1
- End If
- If A=0 or A=4
- Extension_8_1016 X1,Y1 To X3,Y3,1,-1
- End If
- X4=X3 : Y4=Y3
- Add DA1,IAD1*2
- Add DA2,IAD2*2
- Next
- Extension_8_1042 4,0
- Add ANG1,AD1
- Add ANG2,AD2
- Screen Swap 4
- Return
- DINGS:
- Screen 4
- Extension_8_121C 4,0
- DA1=ANG1
- DA2=ANG2
- For A=0 To 7
- X1= Extension_8_1114(DA1,159)+160
- Y1= Extension_8_1106(DA2,127)+127
- If A>0
- Extension_8_1016 X1,Y1 To X2,Y2,1,1
- End If
- X2=X1 : Y2=Y1
- X3= Extension_8_1114(DA1,100)+160
- Y3= Extension_8_1106(DA2,67)+127
- If A>0
- Extension_8_1016 X3,Y3 To X4,Y4,1,1
- End If
- Extension_8_1016 X1,Y1 To X3,Y3,1,1
- X4=X3 : Y4=Y3
- Add DA1,IAD1
- Add DA2,IAD2
- Next
- Add ANG1,AD1
- Add ANG2,AD2
- Screen Swap 4
- Return
- NEWSHADEBOBS:
- Screen 5
- Extension_8_121C 5,0
- Extension_8_121C 5,1
- Extension_8_121C 5,2
- Extension_8_121C 5,3
- DC=Rnd(4095) and $777
- For A=0 To 15
- Colour A, Extension_8_0EE8(DC,(10-A)*$111,0 To $FFF)
- Next
- Screen Show 5
- Screen To Front 5
- Extension_8_0F6C 4
- MO=3
- Return
- SHADEBOBS:
- X1= Extension_8_1114(ANG1, Extension_8_1106(ANG2,159))+160
- Y1= Extension_8_1106(ANG2, Extension_8_1106(ANG3,127))+128
- X2= Extension_8_1114(ANG3, Extension_8_1114(ANG1,159))+160
- Y2= Extension_8_1106(ANG1, Extension_8_1114(ANG2+ANG3,127))+128
- X3= Extension_8_1106(ANG2, Extension_8_1106(ANG3+ANG1,159))+160
- Y3= Extension_8_1114(ANG3, Extension_8_1114(ANG1,127))+128
- X4= Extension_8_1114(ANG1, Extension_8_1114(ANG2,159))+160
- Y4= Extension_8_1106(ANG3, Extension_8_1106(ANG3+ANG2,127))+128
- Add ANG1,10
- Add ANG2,9
- Add ANG3,7
- Extension_8_0F84 5,X1,Y1,11
- Extension_8_0F84 5,X2,Y2,11
- Extension_8_0F84 5,X3,Y3,11
- Extension_8_0F84 5,X4,Y4,11
- Return
- NEWTEX:
- Screen 7
- Palette $FFF,$444,$CCC,0
- Extension_8_121C 7,0
- ST=Leek(Start(1)-6+A*8)
- XH=Deek(ST+6)
- YH=Deek(ST+8)
- Paste Bob 160-XH,128-YH,A
- Fade 3,$FFF,$FFF,$CCC,$CCC
- Screen To Front 7
- Screen Show 7
- MO=1
- Return
- TEX:
- Extension_8_1042 7,1
- Return
- NEWCHLORVU:
- Screen 6 : For A=0 To 31 : Colour A,0 : Next
- Screen Show 6 : Screen To Front 6
- MO=2
- Return
- CHLORVU:
- Screen 6
- For A=0 To 3
- V= Extension_8_10E6(A)
- If V
- DC=CO(Rnd(6)+1)
- For C=1 To 7
- Colour 8-C+A*8, Extension_8_0EE8(DC,C*-$222,0 To $FFF)
- Next
- Fade 2
- End If
- Next
- Return
- Data $F00,$F0,$F44,$FF0,$FF,$F0F,$FFF